package com.mx.ipn.escom.wad.proyecto.documento.dao;

import java.util.List;

import javax.inject.Named;
import javax.inject.Singleton;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.mx.ipn.escom.wad.proyecto.documento.model.Comentario;
import com.mx.ipn.escom.wad.proyecto.documento.model.ComentarioId;


/**
 * Clase que genera los objetos de acceso a dato (DAO) para la gestión de Comentario
 * @author jorge
 *
 */
@Singleton
@Named("comentarioDao")
public class ComentarioDao extends HibernateDaoSupport{
	
	public List<Comentario>findAll(){
		return getHibernateTemplate().loadAll(Comentario.class);
	}
	
	public Comentario findById(ComentarioId id){
		return getHibernateTemplate().get(Comentario.class, id);
	}
	
	@SuppressWarnings("unchecked")
	public List<Comentario> findByExample(Comentario entidad){
		return getHibernateTemplate().findByExample(entidad);
	}
	
	public Comentario save(Comentario entidad){
		getHibernateTemplate().save(entidad);
		return entidad;
	}
	
	public Comentario update(Comentario entidad){
		Comentario entidadAux = getHibernateTemplate().merge(entidad);
		getHibernateTemplate().update(entidadAux);
		return entidadAux;
	}
	
	public Comentario delete(Comentario entidad){
		getHibernateTemplate().refresh(entidad);
		getHibernateTemplate().delete(entidad);
		return entidad;
	}
}
